﻿using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace JNPF.Basics.Models
{
    /// <summary>
    /// 系统日志
    /// 版 本：V3.0.0
    /// 版 权：引迈信息技术有限公司（https://www.jnpfsoft.com）
    /// 作 者：JNPF开发平台组
    /// 日 期：2017.09.20 
    /// </summary>
    [Table("BASE_SYSLOG")]
    public class LogEntity
    {
        /// <summary>
        /// 自然主键
        /// </summary>
        [Key]
        [Column("F_ID")]
        public string Id { get; set; }
        /// <summary>
        /// 用户主键
        /// </summary>
        [Column("F_USERID")]
        public string UserId { get; set; }
        /// <summary>
        /// 用户名称
        /// </summary>
        [Column("F_USERNAME")]
        public string UserName { get; set; }
        /// <summary>
        /// 日志分类
        /// </summary>
        [Column("F_CATEGORY")]
        public int? Category { get; set; }
        /// <summary>
        /// 日志类型
        /// </summary>
        [Column("F_TYPE")]
        public int? Type { get; set; }
        /// <summary>
        /// 日志级别
        /// </summary>
        [Column("F_LEVEL")]
        public int? Level { get; set; }
        /// <summary>
        /// IP地址
        /// </summary>
        [Column("F_IPADDRESS")]
        public string IPAddress { get; set; }
        /// <summary>
        /// IP所在城市
        /// </summary>
        [Column("F_IPADDRESSNAME")]
        public string IPAddressName { get; set; }
        /// <summary>
        /// 请求地址
        /// </summary>
        [Column("F_REQUESTURL")]
        public string RequestURL { get; set; }
        /// <summary>
        /// 请求方法
        /// </summary>
        [Column("F_REQUESTMETHOD")]
        public string RequestMethod { get; set; }
        /// <summary>
        /// 请求耗时
        /// </summary>
        [Column("F_REQUESTDURATION")]
        public int? RequestDuration { get; set; }
        /// <summary>
        /// 日志摘要
        /// </summary>
        [Column("F_ABSTRACTS")]
        public string Abstracts { get; set; }
        /// <summary>
        /// 日志内容
        /// </summary>
        [Column("F_JSON")]
        public string Json { get; set; }
        /// <summary>
        /// 平台设备
        /// </summary>
        [Column("F_PLATFORM")]
        public string PlatForm { get; set; }
        /// <summary>
        /// 操作日期
        /// </summary>
        [Column("F_CREATORTIME")]
        public DateTime? CreatorTime { get; set; }
        /// <summary>
        /// 功能主键
        /// </summary>
        [Column("F_MODULEID")]
        public string ModuleId { get; set; }
        /// <summary>
        /// 功能名称
        /// </summary>
        [Column("F_MODULENAME")]
        public string ModuleName { get; set; }
        /// <summary>
        /// 对象主键
        /// </summary>
        [Column("F_OBJECTID")]
        public string ObjectId { get; set; }
    }
}
